/**
 * Copyright [2010] Delta Air Lines, Inc. All Rights Reserved Access,
 * Modification, or Use Prohibited Without Express Permission of Delta Air
 * Lines.
 */
package com.delta.rafg.coredata;

import java.util.ArrayList;
import java.util.List;

/**
 * DebugInfo. contain Debug info as well as requestInfo.
 * 
 * @author Delta
 * @version 1.0
 * @see AObject
 */
public class DebugInfo extends AObject {

	/**
	 * Holds the value of serialVersionUID property.
	 */
	private static final long serialVersionUID = -7361160566677528817L;

	/**
	 * Holds the value of all property.
	 */
	protected List<DebugInfo> all;

	/**
	 * Holds the value of configurationSettings property.
	 */
	protected String configurationSettings;

	/**
	 * Holds the value of dataSourceName property.
	 */
	protected String dataSourceName;

	/**
	 * Holds the value of dataSourceRequest property.
	 */
	protected String dataSourceRequest;

	/**
	 * Holds the value of dataSourceResponse property.
	 */
	protected String dataSourceResponse;

	/**
	 * Holds the value of svcTrackingId property.
	 */
	protected String svcTrackingId;

	/**
	 * Holds the value of timers property.
	 */
	protected String timers;

	/**
	 * Holds the value of requestInfo property.
	 */
	protected RequestInfo requestInfo;

	/**
	 * This method is the access method for the <code>all</code> property, which
	 * is of type <code>List<DebugInfo></code>.
	 * 
	 * @return the current value of the <code>all</code> property.
	 */
	public List<DebugInfo> getAll() {

		if (all == null) {
			all = new ArrayList<DebugInfo>();
		}
		return all;
	}

	/**
	 * This method is the access method for the
	 * <code>configurationSettings</code> property, which is of type
	 * <code>String</code>.
	 * 
	 * @return the current value of the <code>configurationSettings</code>
	 *         property.
	 */
	public String getConfigurationSettings() {

		return configurationSettings;
	}

	/**
	 * This method is the access method for the <code>dataSourceName</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @return the current value of the <code>dataSourceName</code> property.
	 */
	public String getDataSourceName() {

		return dataSourceName;
	}

	/**
	 * This method is the access method for the <code>dataSourceRequest</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @return the current value of the <code>dataSourceRequest</code> property.
	 */
	public String getDataSourceRequest() {

		return dataSourceRequest;
	}

	/**
	 * This method is the access method for the <code>dataSourceResponse</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @return the current value of the <code>dataSourceResponse</code>
	 *         property.
	 */
	public String getDataSourceResponse() {

		return dataSourceResponse;
	}

	/**
	 * This method is the access method for the <code>requestInfo</code>
	 * property, which is of type <code>RequestInfo</code>.
	 * 
	 * @return the current value of the <code>requestInfo</code> property.
	 */
	public RequestInfo getRequestInfo() {

		return requestInfo;
	}

	/**
	 * This method is the access method for the <code>svcTrackingId</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @return the current value of the <code>svcTrackingId</code> property.
	 */
	public String getSvcTrackingId() {

		return svcTrackingId;
	}

	/**
	 * This method is the access method for the <code>timers</code> property,
	 * which is of type <code>String</code>.
	 * 
	 * @return the current value of the <code>timers</code> property.
	 */
	public String getTimers() {

		return timers;
	}

	/**
	 * This method sets the value of the <code>all</code> property, which is of
	 * type <code>List<DebugInfo></code>.
	 * 
	 * @param value
	 *            - the new value of <code>all</code> property.
	 */
	public void setAll(final List<DebugInfo> all) {

		this.all = all;
	}

	/**
	 * This method sets the value of the <code>configurationSettings</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>configurationSettings</code>
	 *            property.
	 */
	public void setConfigurationSettings(final String value) {

		configurationSettings = value;
	}

	/**
	 * This method sets the value of the <code>dataSourceName</code> property,
	 * which is of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>dataSourceName</code> property.
	 */
	public void setDataSourceName(final String value) {

		dataSourceName = value;
	}

	/**
	 * This method sets the value of the <code>dataSourceRequest</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>dataSourceRequest</code> property.
	 */
	public void setDataSourceRequest(final String value) {

		dataSourceRequest = value;
	}

	/**
	 * This method sets the value of the <code>dataSourceResponse</code>
	 * property, which is of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>dataSourceResponse</code> property.
	 */
	public void setDataSourceResponse(final String value) {

		dataSourceResponse = value;
	}

	/**
	 * This method sets the value of the <code>requestInfo</code> property,
	 * which is of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>requestInfo</code> property.
	 */
	public void setRequestInfo(final RequestInfo value) {

		requestInfo = value;
	}

	/**
	 * This method sets the value of the <code>svcTrackingId</code> property,
	 * which is of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>svcTrackingId</code> property.
	 */
	public void setSvcTrackingId(final String value) {

		svcTrackingId = value;
	}

	/**
	 * This method sets the value of the <code>timers</code> property, which is
	 * of type <code>String</code>.
	 * 
	 * @param value
	 *            - the new value of <code>timers</code> property.
	 */
	public void setTimers(final String value) {

		timers = value;
	}
}
